package com.itheima.api.map.demo02;

import java.util.HashMap;
import java.util.Map;

/**
 * 演示Map中的常见方法
 */
public class MapDemo01 {

    public static void main(String[] args) {

        // 1. 以多态的方式去创建Map集合对象，本次我们选择的Map的子类还是HashMap
        Map<String , String> map = new HashMap<String , String>() ;

        // V  put(K key , V  value)添加元素, 键相同值替换 ， 返回的V代表的是这个键对应的上一次的值
        // String value = map.put("stu001", "刘亦菲");
        // System.out.println(value);

        // String value2 = map.put("stu001" , "杨过") ;
        // System.out.println(value2);

        map.put("stu001", "刘亦菲");
        map.put("stu002", "杨过");
        map.put("stu003", "乔峰");

        // V  remove(Object key)根据键删除键值对元素 , 返回值表示意思是被删除的键对应的值
        // System.out.println(map.remove("stu002"));
        // System.out.println(map.remove("stu004"));

        // 输出
        // System.out.println(map);

        // void   clear()移除所有的键值对元素
         map.clear();

        // boolean containsKey(Object key)判断集合是否包含指定的键
        // System.out.println(map.containsKey("stu001"));
        // System.out.println(map.containsKey("stu004"));

        // boolean containsValue(Object value)判断集合是否包含指定的值
        // System.out.println(map.containsValue("刘亦菲"));
        // System.out.println(map.containsValue("王语嫣"));

        // boolean isEmpty()判断集合是否为空
        // System.out.println(map.isEmpty());

        // int size()集合的长度，也就是集合中键值对的个数
        System.out.println(map.size());

        // 输出
        System.out.println(map);
    }

}
